<%@ page language="java" contentType="text/html; charset=utf-8" %>
<%@ page import="com.alibaba.fastjson.JSONArray" %>
<%@ page import="com.alibaba.fastjson.JSONObject" %>
<%@ page import="weaver.general.Util" %>
<%@ page import="java.io.BufferedReader" %>
<%@ page import="java.io.IOException" %>
<%@ page import="java.io.InputStreamReader" %>
<%@ page import="java.io.PrintWriter" %>
<%@ page import="java.net.URL" %>
<%@ page import="java.net.URLConnection" %>
<jsp:useBean id="rs" class="weaver.conn.RecordSet" scope="page"/>
<jsp:useBean id="bb" class="weaver.general.BaseBean"/>
<%
    JSONObject jsonData = new JSONObject(  );
    JSONArray list = new JSONArray();
    String url = Util.null2String( request.getParameter( "url" ) );//url
    String param = Util.null2String( request.getParameter( "param" ) );//param
    JSONObject result = sendPostHttpRequest( url, param );
    JSONObject res = (JSONObject) result.get( "response" );
    JSONArray dataList = (JSONArray) res.get( "dataList" );
    for (int i = 0;i<dataList.size();i++) {
        JSONObject data = new JSONObject(  );
        String appName = (String) dataList.getJSONObject(i).get("appName");
        String uri =(String) dataList.getJSONObject(i).get("url");
        data.put("appName",appName);
        data.put("uri",uri);
        list.add(data);
    }
    jsonData.put("dataList",list);
    out.print( jsonData.toJSONString() );
    bb.writeLog( "jsonData=" + jsonData.toJSONString() );
%>
<%!
    public static JSONObject sendPostHttpRequest(String url, String param){


        PrintWriter out = null;
        BufferedReader in = null;
        String result = "";
        JSONObject jsonResult = null;
        try{
            URL realUrl = new URL(url);
            URLConnection connection = realUrl.openConnection();
            // 设置通用的请求属性
            connection.setRequestProperty("accept", "*/*");
            connection.setRequestProperty("connection", "Keep-Alive");
            connection.setRequestProperty("user-agent","Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1;SV1)");
            connection.setRequestProperty("Content-Type", "application/json; charset=utf-8");
            // 发送POST请求必须设置如下两行
            connection.setDoOutput(true);
            connection.setDoInput(true);
            //1.获取URLConnection对象对应的输出流
            out = new PrintWriter(connection.getOutputStream());
            //2.中文有乱码的需要将PrintWriter改为如下
            //out=new OutputStreamWriter(conn.getOutputStream(),"UTF-8");
            // 发送请求参数
            out.print(param);
            // flush输出流的缓冲
            out.flush();
            // 定义BufferedReader输入流来读取URL的响应
            in = new BufferedReader(new InputStreamReader(connection.getInputStream(),"UTF-8"));
            String line;
            while ((line = in.readLine()) != null) {
                result += line;
            }
            jsonResult = JSONObject.parseObject(result);
        } catch (Exception e) {
            System.out.println("发送 POST 请求出现异常！"+e);
            e.printStackTrace();
        }
        //使用finally块来关闭输出流、输入流
        finally{
            try{
                if(out!=null){
                    out.close();
                }
                if(in!=null){
                    in.close();
                }
            }
            catch(IOException e){
                e.printStackTrace();
            }
        }
        return jsonResult;
    }
%>


